Navigating
the Performance Data
The
performance data contains information for a variable number of object types,
instances per object, and counters per object type. Therefore, the number and
size of blocks in the performance data varies. To ensure that your application
correctly receives the performance data, you must use the offsets included in
the performance structures to navigate through the data. Every offset is a
count of bytes relative to the structure containing it.
For an
example that navigates the registry, see Displaying Object, Instance, and
Counter Names
Note The reason the
system uses offsets instead of pointers is that pointers are not valid across
process boundaries. The addresses that the process that installs the counters
would store would not be valid for the process that reads the counters.